package xhe.lib.db;

import xhe.entities.DBEntity;
import xhe.lib.base.Common;

/**
 * <b> 工具类: </b> 连接Gauss200数据库通用类
 * 
 * @author xhe
 * @version V1.0.0.0
 * @version --2019年11月15日
 */
public class GaussDB {

	/**
	 * <b> 方法: </b> 初始化GaussDB数据库链接
	 * 
	 * @author xhe
	 * @param Conn 连接字符串
	 * @return DBEntity 数据库链接实体类
	 * @version V1.0.0.0
	 * @version --2019年11月15日
	 * @version --新增方法
	 */
	public static DBEntity InitConnection(String Conn) {
		DBEntity oDBEntity = new DBEntity();
		oDBEntity.setDBType("GAUSS");
		oDBEntity.setDriver("com.huawei.gauss200.jdbc.Driver");

		String[] oConnList = Conn.split("/");
		oDBEntity.setUrl(oConnList[2].split(":")[0]);
		oDBEntity.setPort(Common.toPraseInt(oConnList[2].split(":")[1], 25308));
		oDBEntity.setDbName(oConnList[3]);
		oDBEntity.setUser(oConnList[4].split(":")[0]);
		oDBEntity.setPwd(oConnList[4].split(":")[1]);

		// 数据库连接描述符。
		oDBEntity.setDBUrl(
				"jdbc:gaussdb://" + oDBEntity.getUrl() + ":" + oDBEntity.getPort() + "/" + oDBEntity.getDbName());

		return oDBEntity;
	}
}
